<!DOCTYPE html>
<title>A nested bundle is not supported</title>
<link rel="help" href="https://github.com/WICG/webpackage/blob/master/explainers/subresource-loading.md" />
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<body>
  <link rel="webbundle" href="https://web-platform.test:8444/web-bundle/resources/wbn/nested-main.wbn"
    resources="https://web-platform.test:8444/web-bundle/resources/wbn/nested-sub.wbn" />
  <script>
    promise_test(async () => {
      const response = await fetch(
        "https://web-platform.test:8444/web-bundle/resources/wbn/nested-sub.wbn"
      );
      assert_true(response.ok);
    }, "A nested bundle can be fetched");

    promise_test(async () => {
      await addLinkAndWaitForError(
        "https://web-platform.test:8444/web-bundle/resources/wbn/nested-sub.wbn",
        "https://web-platform.test:8444/web-bundle/resources/wbn/root.js"
      );
      const response = await fetch(
        "https://web-platform.test:8444/web-bundle/resources/wbn/root.js"
      );
      assert_false(response.ok);
    }, "Subresources in a nested bundle should not be loaded");

    function addLinkAndWaitForError(url, resources) {
      return new Promise((resolve, reject) => {
        const link = document.createElement("link");
        link.rel = "webbundle";
        link.href = url;
        link.resources = resources;
        link.onload = reject;
        link.onerror = () => resolve();
        document.body.appendChild(link);
      });
    }
  </script>
</body>